<attachment contenteditable="false" data-atts="%5B%5D" data-aid=".atts-f6697d89-bbbd-4eee-b965-3508de895b4e"></attachment><p>参考网址：<a href="https://www.cnblogs.com/noteless/p/10319299.html" target="_blank">https://www.cnblogs.com/noteless/p/10319299.html</a></p><p><br></p><p><br></p><h2>JDBC的基本概念：</h2><ul><li><strong style="color: rgb(255, 0, 0);"> JDBC（Java Data Base Connectivity,java数据库连接）是一种用于执行SQL语句的Java API，可以为多种关系数据库提供统一访问，它由一组用Java语言编写的类和接口组成。</strong></li><li><strong style="color: rgb(255, 0, 0);"> JDBC提供了一种基准，据此可以构建更高级的工具和接口，使数据库开发人员能够编写数据库应用程序。</strong></li><li><strong> JDBC是Java数据库连接技术，所以，他必然根植于Java语言，使用JDBC离不开Java开发环境，是Java语言对于数据库连接的技术实现。</strong></li><li><strong style="color: rgb(0, 0, 255);"> JDBC作为一种协议的体现，在Java代码中就是一系列的接口与实现的约定。</strong></li><li><strong style="color: rgb(255, 0, 0);"> JDBC是Java数据库连接，仍旧是在做”连接数据库“这件事情本身，哪怕变出花来，他的根本仍旧是连接数据库。</strong></li><li><strong> 使用JDBC只是换了一种方式，不再是手动了，而是借助于Java代码，然后依赖于底层的数据库驱动，去操作数据库</strong></li><li><strong style="color: rgb(0, 0, 255);"> 简言之，你本来是在命令窗口里面，输入一行SQL之后敲回车</strong></li><li><strong style="color: rgb(0, 0, 255);"> 现在变成了借助于Java代码，通过几个对象相互配合进而发送SQL</strong></li><li><strong style="color: rgb(255, 0, 0);"> 做的所有事情都没有任何变化，查询还是那个查询，更新还是那个更新，变得只是形式&nbsp;</strong></li></ul><p><br></p><p><br></p><h2>jdbc的缺点：</h2><h3>对象映射：</h3><ul><li><strong style="color: rgb(255, 0, 0);"> 目前存储数据最常用最流行的工具是关系型数据库，我们通过JDBC借助于SQL语句操作数据库，但是Java是面向对象的编程语言，所有的操作都是对象</strong></li><li><strong style="color: rgb(255, 0, 0);"> 在使用JDBC进行操作时，面向对象的概念却被弱化了</strong></li></ul><p><img src=""></p><ul><li><strong style="color: rgb(255, 0, 0);">所以看得出来，Java作为纯粹的面向对象编程语言，一切皆是对象，但是目前常用的数据库却是关系型数据库</strong></li><li><strong style="color: rgb(0, 0, 255);">关系模型就像一张二维表格，因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织，这并不是对象型的</strong></li><li><strong>JDBC的操作方式是也不是面向对象的，整个过程面向对象编程的思维观念很大程度上被遏制了</strong></li><li><strong style="color: rgb(255, 0, 0);">简言之，关系型数据库不是面向对象的，而JAVA却是纯粹的面向对象的语言，这势必不能很流畅的合作，JDBC对象的映射全靠自己</strong></li></ul><p><br></p><p><br></p><h2>ORM：</h2><ul><li><strong style="color: rgb(255, 0, 0);">鉴于以上提出来的问题，在使用Java开发时，我们希望真正的建立一个对象型数据库，或者说至少使用起来看起来像一个对象型数据库</strong></li><li><strong style="color: rgb(0, 0, 255);">但是，目前常用的数据库又的确是关系型数据库，这一点短期内又无法改变</strong></li><li><strong>所以出现了ORM，对象关系映射（Object Relational Mapping，简称ORM，或O/RM，或O/R mapping）</strong></li><li><strong style="color: rgb(255, 0, 0);">所以ORM是干什么的？</strong></li><li><strong style="color: rgb(0, 0, 255);">ORM用于完成Java对象与关系型数据库的映射，是JDBC的一层封装，提高了易用性。</strong></li><li><strong>简言之，ORM工具就是JDBC的封装，简化了JDBC的使用，完成关系型数据库中数据与Java对象的映射。</strong></li><li><strong style="color: rgb(255, 0, 0);">ORM工具框架最大的核心就是封装了JDBC的交互，你不在需要处理结果集中的字段或者行或者列</strong></li><li><strong style="color: rgb(255, 0, 0);">借助于ORM可以快速进行开发，而无需关注JDBC交互细节</strong></li><li><strong style="color: rgb(0, 0, 255);">但是既然是JDBC的封装，多一层封装，就势必会带来性能的开销，这是无法回避的事实，不过现在技术不断发展，性能开销越来越小。</strong></li></ul><p><img src=""></p><p><br></p>